Open Forex4you Account

Server รัน EA 1000 / ปี

สั่งชื้อคู่มือการโปรแรกม MQL4

Author Topic: รบกวนผู้รู้แจ้งปัญหาที EA ที่เขียนมันซื้อๆขายๆในแท่งเดียวกัน  (Read 9846 times)

TvT

  • Full Member
  • ***
  • Posts: 133
นี่คือ EA ที่ลองฝึกเขียนโดยใช้ OSMA เป็นตัวซื้อขายนะครับ

int start()
//----
{
   {
      double osma;
      double ticket, total, order;
     
      osma=iOsMA(NULL,PERIOD_M15,12,26,9,PRICE_WEIGHTED,0);
     
      total=OrdersTotal();
       
         {
            while(total<1)
                  {
                           if(osma>0)
               
                                             
                                    ticket=OrderSend(Symbol(),OP_BUY,1,Ask,10,0,0,"buy",0,0,Green);
                                    OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES);
                                    Print("buy");
                                    return;
                          }
             break;
             } 
                                     
               
             while(total>0)
                {
                  if(osma<0.01)
     
                       
                        OrderClose(OrderTicket(),OrderLots(),Bid,10,Red);
                        Print("sale");
                        return(0);
                        break;
   
               }
       
        }
   
   }
//----
return;

}

TvT

  • Full Member
  • ***
  • Posts: 133
ปัญหาก็คือพอลองรันมันไม่รอราคาปิดของแท่งนั้น แต่ซื้อๆขายๆเลย ขาดทุนบาน :'( :'( :'(
หรือต้องใช้ให้คำนวณจากราคาแท่งก่อนหน้า
ต้องเขียนยังไงถ้าเราต้องการใช้แท่งก่อนล่าสุดเป็นตัวคำนวณแทนแท่งล่าสุดครับ

อันนี้คิดว่าใช้ก็ไม่น่ากำไรแต่ต้องการทราบข้อผิดพลาดในการเขียนจะได้แก้ไขได้

และขอถาม การนำ ZIGZAG มาใช้เราจะตั้งเพื่อดึงค่ายอดของแต่ละ  zigzag มาใช้ยังไงเช่น เราต้องการสามยอดสูงต่ำล่าสุดที่โปรแกรมรันให้เป็น HI1 , HI2 , HI3 , LOW1 , LOW2 , LOW3 เพื่อนำค่าที่ได้ไปเข้าสูตรน่ะครับ , และต้องการแก้ค่า ExtDepth , ExtDeviation , ExtBackstep จะแก้ในสูตรยังไงครับ

ขอบคุณผู้ที่ช่วยแก้ให้น่ะครับ เพิ่งลองเขียนเลยงงกับภาษา และการซื้อขายของระบบ
« Last Edit: พฤษภาคม 15, 2010, 05:08:12 pm by TvT »

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
ก็คงต้องใช้เงื่อนไขแท่งที่แล้วแทนครับ
หรือไม่ก็ตอนปิด ให้เช็คก่อน ถ้าไม่ได้กำไรไม่ต้องปิด แบบนี้มันอาจจะเปิดปิดรัวในแท่งเดียวเหมือนเดิม แต่ไม่ขาดทุน

TvT

  • Full Member
  • ***
  • Posts: 133
แล้วการดึงข้อมูลจากแท่งก่อนหน้า 1 แท่งนี่ต้องตั้งยังไงครับ
และการนำ ZIGZAG มาใช้เราจะตั้งเพื่อดึงค่าของแต่ละยอดยังไงครับ

ปล.มี code ตัวอย่างของสองอันนี้ไหมครับ

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
แท่งก่อนหน้าก็ใส่ค่า shift เป็น 1 ครับ
เช่น
osma=iOsMA(NULL,PERIOD_M15,12,26,9,PRICE_WEIGHTED,1);
แท่งเทียนก็เหมือนกัน High[1] Low[1] Open[1] Close[1]

เรื่องซิกแซกรอท่านอื่นครับ ผมว่ามันแหกตา ผมไม่เคยยุ่งกะมันครับ  ผมชอบพวกที่มันไม่หลอกอย่าง RSI CCI

TvT

  • Full Member
  • ***
  • Posts: 133
ZIGZAG เนี่ยไม่มีใรรู้เลยหรือเอายอดล่าสุดก็ได้

linconz

  • VIP
  • Sr. Member
  • *
  • Posts: 357
ZIGZAG เนี่ยไม่มีใรรู้เลยหรือเอายอดล่าสุดก็ได้


ก็เอาค่า 3 แท่งมาเปรียบเทียบกันได้มั๊ยอะ ถ้าเป็นยอดคว่ำ  2>1,3<2 แล้วก็เอาค่า 2 มาใช้ ก็ได้แล้วอันนึง แล้วก็รอหาอีก 2 อันแล้วก็เอาไปใช้ตามสะดวกโยธิน

TvT

  • Full Member
  • ***
  • Posts: 133
มี code ตัวอย่างไหมครับ ลองแล้วทำไม่ได้

linconz

  • VIP
  • Sr. Member
  • *
  • Posts: 357
มี code ตัวอย่างไหมครับ ลองแล้วทำไม่ได้


ให้เขียนโ๊ค๊ดอ่านค่าซิกแซก  3 แท่งสุดท้าย ถ้าค่าที่ 2 มากกว่าค่าที่ 1 และค่าที่ 3 น้อยกว่าค่าที่ 2 ก็จะเป็นยอดคว่ำตามรูปครับ