コーディングの方法は? - ページ 248

 
 

ヘルプ - 既存の取引を開いたままにするためにEAを修正する方法

私は誰かが助けることができる場合、非常に単純なソリューションを必要とします。

私は今、利益を上げているEAを持っていますが、それは同時に取引を開き、取引を閉じるので、一度に1つの取引のみがアクティブになっています。

私は今、すでにいくつかの既存の取引が開いている既存の口座でそれを実行したいのですが、それらの取引を実行したまま、EAがそれ自身の取引を開いて閉じ続けたいのですが、副次的な問題として、既存の取引のいずれかが利益になると、それは次にそれらを閉じます。

この利益時に既存の取引を閉じるというサイドリクエストは、それをシンプルに保つために無視することができ、必要であれば私はそれらを手動で閉じることができます。

現在、私のEAが使っているものは以下の通りです。

if(val1 > val2) {trade_text = " BUY trade open";trend_text = "UP";BV=1;break;}; if(val1 < val2) {trade_text = " BUY trade open";trend_text = " UP";BV=1;break;}.

if(val1 < val2) {trade_text = " SELL trade open";trend_text = "DOWN";SV=1;break;}} {トレードテキスト = " SELL trade open";trend_text = "DOWN";SV=1;break;}} 。

// マネーマネジメントのエキスパート

if(MM){if(Risk100){Comment("Invalid Risk Value.");return(0);}.

else{MML=MathFloor((AccountFreeMargin()*AccountLeverage()*Risk*Point*100)/(Ask*MarketInfo(Symbol(),MODE_LOTSIZE)*MarketInfo(Symbol(),MODE_MINLOT)))*MarketInfo(Symbol(),MODE_MINLOT);}} {MML=AccountFreeMargin();ModE_MINLOT()

if(MM==false){MML=Lots;}。

// エキスパートがポジションを開始

int cnt=0,OP=0,OS=0,OB=0,CS=0,CB=0;OP=0;for(cnt=0;cnt<OrdersTotal();cnt++){OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES).OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);

if((OrderType()==OP_SELL||OrderType()==OP_BUY)&&OrderSymbol()==Symbol()&&((OrderMagicNumber()==Magic)||Magic==0))OP=OP+1;})

if(OP>=1){OS=0; OB=0;}OB=0;OS=0;CB=0;CS=0;

// エキスパートがポジションをオープンする条件

if(SV>0){OS=1;OB=0;}if(BV>0){OB=1;OS=0;}

// エキスパートによるポジションクローズ条件

if((SV>0)||(RealSL_Enabled&&(OrderOpenPrice()-Bid)/Point>=RealSL)||(RealTP_Enabled&&(Ask-OrderOpenPrice())/Point>=RealTP)){CB=1;}; }; }; if((BV>0)|(RealSL_Enabled&&(RightOrderPrice())/Point>=RealTL

if((BV>0)||(RealSL_Enabled&&(Ask-OrderOpenPrice())/Point>=RealSL)||(RealTP_Enabled&&(OrderOpenPrice()-Bid)/Point>=RealTP)){CS=1;}((BV>1){CS=1;}((BV>0)||(RealSL_Enabled&&(Ask-OrderPrice())/Point>=RealSL))

for(cnt=0;cnt<OrdersTotal();cnt++){OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES).OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);

if(OrderType()==OP_BUY&&OrderSymbol()==Symbol()&&((OrderMagicNumber()==Magic)||Magic==0))

{if(CB==1){OrderClose(OrderTicket(),OrderLots(),Bid,Slip,Aqua);temp = Bid;return(0);}}.

if(OrderType()==OP_SELL&&OrderSymbol()==Symbol()&&((OrderMagicNumber()==Magic)||Magic=0)){。

if(CS==1){OrderClose(OrderTicket(),OrderLots(),Ask,Slip,Gold);temp = Bid;return(0);}}}double SLI=0,TPI=0;int TK=0;

// 専門家のオープンポジションの値

if((AddP()&&Add_Positions&&OP<=MaxOrders)||(OP==0&&!Add_Positions)){?

if(OS==1){if(TP=0)TPI=0;else TPI=Bid-TP*Point;if(SL==0)SLI=0;else SLI=Bid+SL*Point;OS=0;return(0);})

if(OB==1){if(TP==0)TPI=0;else TPI=Ask+TP*Point;if(SL==0)SLI=0;else SLI=Ask-SL*Point;{TK=OrderSend(Symbol(),OP_BUY,MML,Ask,Slip,SLI,TPI,OrSt,Magic,0,Blue);OB=0;return(0);}} {TK=OrderSend(Symbol(),OP_UY,SLI=0,SLI(SLI)0,SLI*ポイント

for(j=0;j<OrdersTotal();j++){if(OrderSelect(j,SELECT_BY_POS,MODE_TRADES)){if(OrderSymbol()==Symbol()&&((OrderMagicNumber()==Magic)||Magic==0)){TrP();}}return(0);}} {{OrderSelect(j)==Symbol()&{OrdersTotal()==Magic|}}{OrderSymbol()&{OrderMagicNumber();}}{TrP(j)

// オーダーのエキスパート

int CntO(int Type,int Magic){int _CntO;_CntO=0;

for(int j=0;j<OrdersTotal();j++){OrderSelect(j,SELECT_BY_POS,MODE_TRADES);if(OrderSymbol()==Symbol()){if((OrderType()==Type&(OrderMagicNumber()==Magic)||Magic==0) )_CntO++;}}return(_CntO);}/ }

//エキスパートブレイクイーブン

void TrP(){double pb,pa,pp;pp=MarketInfo(OrderSymbol(),MODE_POINT);if(OrderType()==OP_BUY){pb=MarketInfo(OrderSymbol(),MODE_BID);

if(BE>0){if((pb-OrderOpenPrice())>BE*pp){if((OrderStopLoss()-OrderOpenPrice())<0){ModSL(OrderOpenPrice()+0*pp);}}} {if(pb-OrderOpenPrice())>BE*pp}。

// トレーリングストップのエキスパート

if(TS>0){if((pb-OrderOpenPrice())>TS*pp){if(OrderStopLoss()<pb-(TS+TS_Step-1)*pp){ModSL(pb-TS*pp);return;}}} {if(OrderType() ===============================================);}}}}} {if(pbOrderOpenPrice())

if(OrderType()==OP_SELL){pa=MarketInfo(OrderSymbol(),MODE_ASK);if(BE>0){if((OrderOpenPrice()-pa)>BE*pp){if((OrderOpenPrice()-OrderStopLoss())<0){ModSL(OrderOpenPrice()-0*pp);}}}} {if(TS>0){if(OrderOpenPrice() -0*pp);}} {ModSL(OrderOpenPrice() -0*pp);}} {If(TS+TS_Step-1)

if(TS>0){if(OrderOpenPrice()-pa>TS*pp){if(OrderStopLoss()>pa+(TS+TS_Step-1)*pp||OrderStopLoss()==0){ModSL(pa+TS*pp);}}}}となる予定です。}

//エキスパートストップロス

void ModSL(double ldSL){bool fm;fm=OrderModify(OrderTicket(),OrderOpenPrice(),ldSL,OrderTakeProfit(),0,CLR_NONE);}} //エキスパート・ポジション追加関数関数

//エキスパートアドポジション機能

bool AddP(){int _num=0; int _ot=0;

for (int j=0;j<OrdersTotal();j++){if(OrderSelect(j,SELECT_BY_POS)==true && OrderSymbol()==Symbol()&&OrderType()<3&&((OrderMagicNumber() ==Magic)||Magic==0)){ { if(オーダーマジック)

_num++;if(OrderOpenTime()>_ot) _ot=OrderOpenTime();}}if(_num==0) return(true);if(_num>0 && ((Time[0]-_ot))>0) return(true);else return(false);}} if(_num=0) return(true);if(_num>0 && ((Time[0]-_ot))>0) return(true);else return(false)

 

/*

// ポジションを閉じるための専門家の条件

if((SV>0)||(RealSL_Enabled&&(OrderOpenPrice()-Bid)/Point>=RealSL)||(RealTP_Enabled&&(Ask-OrderOpenPrice())/Point>=RealTP)){CB=1;}; }; {(SV>0)|(RealSL_Enabled&&(OrderOrderPen Price())/Point>=RealSS)

if((BV>0)||(RealSL_Enabled&&(Ask-OrderOpenPrice())/Point>=RealSL)||(RealTP_Enabled&&(OrderOpenPrice()-Bid)/Point>=RealTP)){CS=1;}((BV>1){CS=1;}((BV>0)||(RealSL_Enabled&&(Ask-OrderOpenPrice())/Point>=RealTP)

for(cnt=0;cnt<OrdersTotal();cnt++){OrderSelect(cnt ,SELECT_BY_POS,MODE_TRADES).OrderSelect(cnt ,SELECT_BY_POS,MODE_TRADES);

if(OrderType()==OP_BUY&&OrderSymbol()==Symbol()&&( (OrderMagicNumber()==Magic)||Magic==0))

{if(CB==1){OrderClose(OrderTicket(),OrderLots(),Bi d,Slip,Aqua);temp = Bid;return(0);}}.

if(OrderType()==OP_SELL&&OrderSymbol()==Symbol()&& ((OrderMagicNumber()==Magic)||Magic==0)){ (オーダータイプ()==OP_SELL&&OrderSymbol()==Symbol&&((オーダーマジック番号()==マジック))})

if(CS==1){OrderClose(OrderTicket(),OrderLots(),Ask ,Slip,Gold);temp = Bid;return(0);}}}double SLI=0,TPI=0;int TK=0;

*/

エキスパート条件の最初に/*を追加して、ポジションをクローズします。

と */最後に

msn aboukalil ( at) hotmail.fr

 

しかし、私はよく理解していません、私がそれを編集した場合、私はcloseコマンドを持っていないでしょう、それは私の既存の取引を残しますが、私のEAは反対方向に開くためにそれ自身のトレードを閉じることはありません?

この件に関して少し助けてください。

 

皆さん、こんにちは......。

汎用インジケーターをチャートに貼り付けると、iCustomed indyの傾きに応じて色が変わる2色のヒストグラムバーインジケーターとして表示されるように、任意のラインベースのシングルバッファーインジケーターを汎用インジケーターのiCustomsで呼び出せるようなものをご存知の方やお持ちでない方はいらっしゃいませんか?

よろしくお願いします。

 

紳士淑女の皆さん

インジケーターをcsvファイルにするにはどうしたらいいですか?

 
biddick:
皆さん、インジケーターをCSVファイルにするにはどうしたらいいでしょうか?

CSVファイルへの保存方法のことでしょうか?

こちらをご確認ください。

ツール - .csv reader

 
 

この小さなスクリプトを修正するのを手伝ってください。

こんにちは。

どなたか、この小さな注文スクリプトを修正するのを手伝っていただけませんか?

取引されたロットサイズは、口座サイズのリスクの割合の関数 であるように

私はコードのこの行がどこかに挿入されるべきであることを知っているが、私はそれをプログラムする方法が全くわからない。

ダブルリスク= RiskPercent / 100。

if (UseMoneyMgmt)

Lots=NormalizeDouble(AccountBalance()*Risk/stoploss/(MarketInfo(Symbol(),MODE_TICKVALUE)),2);

よろしくお願いします。

ファイル:
 

保留中の注文

こんにちは。

保留中の注文はどのように管理すればよいですか?(mt4 apiで)

私のプログラムがTT_ORDER_PENDING_OPEN(トレードタイプ)を受信したとき

で、ポンピング通知でPUMP_UPDATE_ACTIVATIONを受信しました。

理由: